package com.github.bdeenyy.asv.util;

import com.github.bdeenyy.asv.model.VectorData;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.input.Clipboard;

public class ClipboardHandler {
    public ObservableList<VectorData> pasteFromClipboard() {
        ObservableList<VectorData> dataFromClipboard = FXCollections.observableArrayList();
        Clipboard clipboard = Clipboard.getSystemClipboard();
        String content = clipboard.getString();
        if (content != null) {
            for (String line : content.split("\n")) {
                String[] fields = line.split("\t");
                if (fields.length == 4) {
                    try {
                        String name = fields[0];
                        double length1 = Double.parseDouble(fields[1]);
                        double length2 = Double.parseDouble(fields[2]);
                        double length3 = Double.parseDouble(fields[3]);
                        dataFromClipboard.add(new VectorData(name, length1, length2, length3));
                    } catch (NumberFormatException e) {
                        System.err.println("Ошибка при парсинге числа: " + e.getMessage());
                        // Можно добавить дополнительную обработку ошибок здесь, например, пропустить некорректную строку
                        // или добавить её с нулевыми значениями
                    }
                }
            }
        }
        return dataFromClipboard;
    }
}